package com.youthfilmic.yuejian.service;

import com.youthfilmic.yuejian.util.SpringThreadPool;
import org.springframework.stereotype.Service;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by youweixi on 15/10/21.
 */
@Service
public class MobileServiceImpl implements MobileService {

    /**
     * 申请通过(handleCertification)
     * */
   public static String CERTIFICATION_PASS = "尊敬的用户您好，您的电影咖申请已经通过，欢迎您做客青年电影志。稍后我们的工作人员将联系您帮您完善相关信息。【青年电影志】";
    /**
     * 申请没有通过(handleCertification)
     * */
    public static String CERTIFICATION_DENY = "尊敬的用户您好，很遗憾的通知您，由于部分资料暂不符合要求，您的申请暂未通过。具体原因您可以前往个人主页查看，您可以修改信息或继续体验。【青年电影志】";
    /**
     * 收到约见申请(competeByQuery 支付查询页面)
     * */
    public static String APPLICATION_TOME = "尊敬的用户您好，您发布的话题收到了一个已支付的约见申请，请前往青年电影志个人主页查询。【青年电影志】";
    /**
     * 电影咖同意约见申请(handleApplication)
     * */
    public static String APPLICATION_MINE_PASS = "尊敬的用户您好，电影咖已经同意了您发起的约见申请，稍后我们的工作人员将联系您确定约见的时间地点。【青年电影志】";
    /**
     * 电影咖拒绝约见申请(handleApplication)
     * */
    public static String APPLICATION_MINE_DENY = "尊敬的用户您好，电影咖因为时间等原因没有同意您发起的约见申请，感谢您对青年电影志的信任，请您继续体验青年电影志。【青年电影志】";
    /**
     * 提现通知
     * */
    public static String ACCOUNT_DRAW_MONEY = "尊敬的用户您好，您的青年电影志账号正在进行提现操作，我们将在七个工作日内完成相关工作。如果不是您本人的操作，请马上联系青小志工作人员。【青年电影志】";
    /**
     * 短信配置信息
     * */
    public static String username = "SDK-HUANYING-0340";
    public static String password = "bggzv88";
    public static String serviceURL = "http://124.173.70.59:8081/SmsAndMms/mt";


    public static void SendMobileMessageForContent (String phoneNum , String content){
        String commString = "Sn=" + username + "&Pwd=" + password + "&mobile=" + phoneNum + "&content=" + content;
        String res = null;
        try {
            res = connectURL(commString, serviceURL);
        } catch (Exception e) {

        }
        // 设置返回值 解析返回值
        // //正则表达式
//        Pattern pattern = Pattern.compile("<int xmlns=\"http://tempuri.org/\">(.*)</int>");
//        Matcher matcher = pattern.matcher(res);
//        while (matcher.find()) {
//            String resultok = matcher.group(1);
//        }
    }

    private static String connectURL(String commString, String sendsmsaddress) {
        String rec_string = "";
        URL url = null;
        HttpURLConnection urlConn = null;
        try {
            url = new URL(sendsmsaddress); // 根据数据的发送地址构建URL
            urlConn = (HttpURLConnection) url.openConnection(); // 打开链接
            urlConn.setConnectTimeout(3000);
            urlConn.setReadTimeout(3000);
            urlConn.setRequestMethod("POST"); // 链接相应方式为post
            urlConn.setDoOutput(true);
            urlConn.setDoInput(true);
            OutputStream out = urlConn.getOutputStream();
            out.write(commString.getBytes("UTF-8"));
            out.flush();
            out.close();
            BufferedReader rd = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));
            StringBuffer sb = new StringBuffer();
            int ch;
            while ((ch = rd.read()) > -1) {
                sb.append((char) ch);
            }
            rec_string = sb.toString().trim();
            rec_string = URLDecoder.decode(rec_string, "UTF-8");
            rd.close();
        } catch (Exception e) {
            rec_string = "-107";
        } finally {
            if (urlConn != null) {
                urlConn.disconnect();
            }
        }
        return rec_string;
    }


    public static void main(String[] args){
        SendMobileMessageForContent("13269291890", "您的申请已经通过，请移步一起电影网查看进一步通知~");
    }

}
